|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Решение:К пункту 1 - создание базы данных и необходимых таблиц:
В открывшемся окне базы данных перейдите на вкладку Таблицы и щелкните два раза мышью по строке Создание таблицы в режиме конструктора. В созданной таблице определите три столбца (см. рис. 12.9).
Рис. 12.9 Структура таблицы Шаблоны Сохраните эту таблицу как Шаблоны и закройте окно конструктора. В окне базы данных на вкладке Таблицы еще раз щелкните по строке Создание таблицы в режиме конструктора. Набор столбцов для новой таблицы должен выглядеть так:
Сохраните эту таблицу с именем Договоры и закройте окно конструктора таблицы. На вкладке Таблицы окна базы данных щелкните два раза мышью по созданной таблице Шаблоны, чтобы открыть ее в режиме ввода данных. В первую строку этой таблицы в столбец Описание введите "Шаблон договора", а затем выделите ячейку в столбце Шаблон и в меню Вставка выберите Объект. В открывшемся окне переставьте переключатель в положение Создать из файла, затем нажмите на кнопку Обзор и выберите шаблон C:\ DogovorTemplate. dot, который вы создали во время работы 10.1. Затем нажмите на кнопку OK, чтобы поместить шаблон внутрь базы данных. Щелкните по ячейке для помещенного вами шаблона, чтобы убедиться, что действительно помещен в базу данных. Убедитесь, что в столбце НомерШаблона для первой строки автоматически сгенерировано значение 1, и закройте эту таблицу.
К пункту 2 - создание формы Access и программного кода для формирования файла договора:
На первом экране мастера в списке Таблицы и Запросы выберите Таблица: Договоры, затем поместите в список Выбранные поля все поля из этой таблицы и нажмите на кнопку Далее. На следующем экране выберите внешний вид формы в один столбец и нажмите на кнопку Далее. На следующем экране выберите наиболее вам понравившийся стиль и нажмите на кнопку Далее. На последнем экране в окне определения имени формы введите имя формы Форма для занесения договоров, переставьте переключатель в положение Изменить макет формы и нажмите на кнопку Готово. Форма будет открыта в режиме конструктора. Произведите расстановку и дооформление созданных элементов на форме средствами конструктора по вашему вкусу. Добавьте при помощи Toolbox на свободную часть формы элемент управления Присоединенная рамка объекта. Удалите автоматически сгенерированную вместе с ним надпись, а затем откройте свойства этого объекта. Для свойства Имя настройте значение OLEObject1, а для свойства Вывод на экран установите значение Нет. Добавьте на форму две кнопки: Отмена и Сформировать договор. Элемент управления для первой кнопки должен называться cmdCancel, а для второй - cmdDog. В открывающемся окне мастера при создании кнопки нажимайте на кнопку Отмена. Убедитесь, что для элементов управления текстовых полей оставлены имена по умолчанию (НомерДоговора, Город, Дата и т.п.). В итоге форма в окне конструктора должна выглядеть, например, так, как представлено на рис. 12.10
Рис. 12.10 Форма в окне конструктора Щелкните правой кнопкой мыши по кнопке Отмена и в контекстном меню выберите Обработка событий. В открывшемся окне Построитель выберите Программы и нажмите OK. Введите следующий код для события Click этой кнопки: Private Sub cmdCancel_Click() Form.Undo End Sub При помощи меню Tools -> Referencesв окне редактора кода добавьте ссылку на объектную библиотеку Microsoft Word 11.0 Object Library. Так же откройте код для события Click для кнопки Сформировать договор и введите следующий код: Private Sub cmdDog_Click() Dim dDate As Date Dim НомерДоговора, Город, Организация, Представитель, Должность, ЮрОснование As String
'Присваиваем значения переменным при помощи элементов управления формы If Form.Controls("Дата").Value <> "" Then _ dDate = Form.Controls("Дата").Value If Form.Controls("НомерДоговора").Value <> "" Then _ НомерДоговора = Form.Controls("НомерДоговора").Value If Form.Controls("Город").Value <> "" Then _ Город = Form.Controls("Город").Value If Form.Controls("Организация").Value <> "" Then _ Организация = Form.Controls("Организация").Value If Form.Controls("Представитель").Value <> "" Then _ Представитель = Form.Controls("Представитель").Value If Form.Controls("Должность").Value <> "" Then _ Должность = Form.Controls("Должность").Value If Form.Controls("ЮрОснование").Value <> "" Then _ ЮрОснование = Form . Controls ("ЮрОснование"). Value
'Получаем шаблон - теперь из базы данных Dim oBOF As BoundObjectFrame Set oBOF = Form.Controls("OLEObject1") oBOF = DLookup("[Шаблон]", "Шаблоны", "[НомерШаблона] = 1") oBOF.Verb = acOLEVerbOpen
oBOF.Action = acOLEActivate
'Получаем ссылки на запущенный нами Word и открытый в нем документ Dim oWord As Word.Application Set oWord = GetObject(, "Word.Application") Dim oDoc As Word.Document Set oDoc = oWord.ActiveDocument oWord.Visible = True oWord.ActiveWindow.WindowState = wdWindowStateMaximize oDoc . Activate
'Вставляем данные в закладки oDoc.Bookmarks("bNumber").Range.Text = НомерДоговора oDoc.Bookmarks("bCity").Range.Text = Город oDoc.Bookmarks("bDate").Range.Text = dDate oDoc.Bookmarks("bOrg").Range.Text = Организация oDoc.Bookmarks("bTitle").Range.Text = Должность oDoc.Bookmarks("bPerson").Range.Text = Представитель oDoc.Bookmarks("bLaw").Range.Text = ЮрОснование
End Sub Запустите созданный вами код на выполнение и убедитесь в его работоспособности.
К пункту 3 - обеспечение минимальной защиты от действий пользователя:
В открывшемся окне Параметры запуска снимите все флажки, а в списке Вывод формы/страницы выберите Форма для занесения договоров (см. рис. 12.11).
Рис. 12.11 Настройка параметров приложения в окне Параметры запуска Нажмите на кнопку OK. Затем закройте и вновь откройте созданную вами базу данных. Убедитесь, что все объекты базы данных, кроме формы для занесения договоров, спрятаны от пользователя. Примечание. База данных откроется в обычном режиме, если при ее нажатии держать нажатой кнопку < Shift>.
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить этот учебник в формате PDF (Acrobat Reader) или DOC (Microsoft Word) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||